package ComoViajo;

import java.math.BigDecimal;
import java.util.Iterator;

public class RecorridoSubte extends Recorrido {

	
	/**
	 * @return costo de viaje en subte
	 * @author eugenio fede
	 */
	public BigDecimal getCosto() {
		return new BigDecimal("1.1");
	}

	/**
	 * @return tiempo de viaje en subte
	 * @author eugenio fede
	 */
	public int getTiempo() {
		// tiempo de subte 2 minutos por estacion
		return 2 * this.estaciones.size();
	}

	
	public int getTiempoTransbordo(Recorrido recorridoPrevio) throws ComoViajeException {
		if(recorridoPrevio.getClass().equals(this.getClass())){
			return 4;
		}else if(recorridoPrevio.getClassName().equals("RecorridoTren")){
			return 5;
		}else{
			throw new ComoViajeException();
		}
	}

	/**
	 * una copia de los datos del recorrido
	 * @author eugenio
	 */
	public Recorrido getCopia() {
		RecorridoSubte copia=new RecorridoSubte();
		Iterator<Estacion> estacionesIterator=this.estaciones.iterator();
		
		Estacion unaEstacion;
		
		while(estacionesIterator.hasNext()){
			unaEstacion=estacionesIterator.next();
			copia.estaciones.add(unaEstacion);
		}
		
		return copia;
	}
	
}
